home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / cprog.EXE / SIMDINE.C < prev    next >
C/C++ Source or Header  |  1996-07-05  |  4KB  |  78 lines

  1. /* *************************************************************** */
  2. /* Bu program, komut satirindan kelimeler okur, ve en sonuncusu    */
  3. /* haric hepsini ekrana gosterir. En sonuncusu, klavyeden okunan   */
  4. /* karakterlerle karsilastirmada kullanilir. Klavyeden bir tus     */
  5. /* okunur. Sayet o tus karsilastirma listesinde varsa, onun        */
  6. /* degeri, DOS'a ERRORLEVEL komutu ile dondurulur. Sayet basilan   */
  7. /* tus listede yoksa, geriye 0 degeri dondurur.                    */
  8. /* Bir Ornek:                                                      */
  9. /*                                                                 */
  10. /* SIMDINE Hangi Modeli istersiniz? ALR%3T                         */
  11. /*                                                                 */
  12. /* Hangi Modeli istersiniz?     <---- ekrana yazilir               */
  13. /*    Sayet  a yada A ya basilirsa, errorlevel 1 doner.            */
  14. /*    Sayet  l yada L ye basilirsa, errorlevel 2 doner.            */
  15. /*    Sayet  r yada R ye basilirsa, errorlevel 3 doner.            */
  16. /*    Sayet  % ye basilirsa, errorlevel 4 doner.                   */
  17. /*    Sayet  3 e basilirsa, errorlevel 5 doner.                    */
  18. /*    Sayet  t yada T ye basilirsa, errorlevel 6 doner.            */
  19. /*    Sayet herhangi baska bir tusa basilirsa, 0 doner.            */
  20. /*                                                                 */
  21. /*  En fazla dokuz tus kontrol edilebilir. ERRORLEVEL ise, bir     */
  22. /*  yigit (batch) kutugunde kontrol edilebilir.                    */
  23. /*  Not: Bu programi, bu pakette gelen SIMDI.BAT ile               */
  24. /*       kullanabilirsiniz  -turgut                                */
  25. /* *************************************************************** */
  26.  
  27. #include "stdio.h"
  28. #include "ctype.h"
  29.  
  30. main(rakam,kelime)
  31. int rakam;               /* Komut satirinda kac kelime oldugu    */
  32. char *kelime[];
  33. {
  34. int index;                 /* bir sayac ve artirma degiskeni       */
  35. int c;                     /* karsilastirma yapilacak karakter     */
  36. int code;                  /* sonucta donecek errorlevel degeri    */
  37. char bir_sonraki_kar;      /* karsilastirmada kullanilir           */
  38. char *point;               /* rahatlik icin kullanilan bir pointer */
  39.  
  40.                      /* Ilk kelime,hep kutuk ismi olur, ve en az   */
  41.                      /* iki sahaya daha ihtiyac var. Yani, 3 den   */
  42.                      /* az ise, programi terk.                     */
  43.    if (rakam < 3) {
  44.       printf("Komut satirinda soru verilmedi\n");
  45.       exit(0);
  46.    }
  47.  
  48.                        /* ikinciden n-1 e kadar kelimeleri yazalim */
  49.    rakam--;
  50.    for(index = 1;index < rakam;index++)
  51.       printf("%s ",kelime[index]);
  52.   
  53.                 /* kullanicinin cevabini alalim, buyuk harf yapalim */
  54.    c = getch();
  55.    printf("%c\n",c);
  56.  
  57.    if (islower(c))
  58.       c = toupper(c);
  59.  
  60.    point = kelime[rakam]; /* En son yazilan kelimeyi gostersin      */
  61.  
  62.    code = 0;
  63.    index = 0;
  64.    do {             /* en son kelimedeki cevaplara bakalim          */
  65.       bir_sonraki_kar = *(point + index);
  66.      
  67.       if (islower(bir_sonraki_kar))
  68.          bir_sonraki_kar = toupper(bir_sonraki_kar);  /* Buyuk harf */
  69.         
  70.       if(bir_sonraki_kar == c)                  /* Sayet bulunduysa */
  71.          code = index + 1;           /* bulunan degeri saklayalim   */
  72.         
  73.       index++;
  74.    } while (*(point + index));       /* ta ki NULL gorununceye kadar*/
  75.  
  76.    exit(code);                /* Bulunan degeri sisteme dondurelim  */
  77. }
  78.